/**
 * 简单HTTP服务器，支持动态页面与静态资源访问
 *
 * @Author xiaotao
 *
 */
package com.xiaotao;

import com.sun.istack.internal.NotNull;
import com.xiaotao.http.core.Handler;
import com.xiaotao.utils.ClassUtils;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URL;
import java.util.List;

/**
 * 主类,服务器启动入口
 */
public class Main {
    public static void main(String[] args) {
        try {
            // 监听端口
            ServerSocket serverSocket = new ServerSocket(23333);
            System.out.println("服务器在本机的23333端口上监听，访问地址：http://127.0.0.1:23333");
            List<String> classes = ClassUtils.scanClass("com");
            while(true) {
                // 接受连接
                Socket socket = serverSocket.accept();

                // 实例化处理对象Handler,一切的处理将在Handler对象的线程处理方法run中
                Handler handler = new Handler(socket);

                // 创建线程
                Thread th = new Thread(handler);

                // 启动线程
                th.start();
                // 可以简写成以下代码
                // new Thread(new Handler(serverSocket.accept())).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
